// pages/profile/index.ts
Page({
  /**
   * 页面的初始数据
   */
  data: {},

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    if (!getApp().userProfile.nickName) {
      this.getUserProfile()
    } else {
      this.setData({
        ...getApp().userProfile,
      })
    }
  },
  // onLoad() {
  //   if (!getApp().token) return
  //   if (getApp().userProfile.nickName) {
  //     this.setData({
  //       ...getApp().userProfile,
  //     })
  //   } else {
  //     this.getUserProfile()
  //   }
  // },
  async getUserProfile() {
    let res = await wx.http.get('/userInfo')
    this.setData({ ...res })
    getApp().userProfile = {
      nickName: res.nickName,
      avatar: res.avatar,
    }
  },
  async getUserNickname(event) {
    console.log(event)
    if (!event.detail.value) return
    await wx.http.put('/userInfo', { nickName: event.detail.value })
    wx.utils.toast('更新成功')
    this.setData({ nickName: event.detail.value })
    getApp().userProfile.nickName = event.detail.value
  },
  updateAvatar({ detail }) {
    console.log(detail.avatarUrl)
    wx.uploadFile({
      url: wx.http.baseURL + '/upload',
      filePath: detail.avatarUrl,
      header: {
        Authorization: `Bearer ` + getApp().token,
      },
      name: 'file',
      formData: {
        type: 'avatar',
      },
      success: ({ data }) => {
        const res = JSON.parse(data)
        if (res.code === 10000) {
          this.setData({
            avatar: res.data.url,
          })
          getApp().userProfile.avatar = res.data.url
        } else {
          wx.utils.toast(res.message)
        }
      },
      fail: (error) => {
        console.log(error)
      },
      complete: () => {},
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {},

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {},

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {},

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {},

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {},
})
